home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -serious- / programming / c / icu-1.3.1 / icu-bin / include / platform.h < prev    next >
C/C++ Source or Header  |  2000-02-23  |  3KB  |  101 lines

  1. /*
  2. *******************************************************************************
  3. *                                                                             *
  4. * COPYRIGHT:                                                                  *
  5. *   (C) Copyright Taligent, Inc.,  1997                                       *
  6. *   (C) Copyright International Business Machines Corporation,  1997-1998     *
  7. *   Licensed Material - Program-Property of IBM - All Rights Reserved.        *
  8. *   US Government Users Restricted Rights - Use, duplication, or disclosure   *
  9. *   restricted by GSA ADP Schedule Contract with IBM Corp.                    *
  10. *                                                                             *
  11. *******************************************************************************
  12. *
  13. *  FILE NAME : platform.h
  14. *
  15. *   Date        Name        Description
  16. *   05/13/98    nos         Creation (content moved here from ptypes.h).
  17. *   03/02/99    stephen     Added AS400 support.
  18. *   03/30/99    stephen     Added Linux support.
  19. *   04/13/99    stephen     Reworked for autoconf.
  20. *******************************************************************************
  21. */
  22.  
  23. /* Define the platform we're on. */
  24. #ifndef UNKNOWN
  25. #define UNKNOWN
  26. #endif
  27.  
  28. /* Define whether inttypes.h is available */
  29. #define HAVE_INTTYPES_H 0
  30.  
  31. /* Determines whether specific types are available */
  32. #define HAVE_INT8_T 1
  33. #define HAVE_UINT8_T 0
  34. #define HAVE_INT16_T 1
  35. #define HAVE_UINT16_T 0
  36. #define HAVE_INT32_T 1
  37. #define HAVE_UINT32_T 0
  38. #define HAVE_BOOL_T 0
  39.  
  40. /* Determines the endianness of the platform */
  41. #define U_IS_BIG_ENDIAN 1
  42.  
  43. /*===========================================================================*/
  44. /* Platform/Language determination                                           */
  45. /*===========================================================================*/
  46.  
  47. #ifdef macintosh
  48. #ifdef XP_MAC
  49. #undef XP_MAC
  50. #endif
  51. #define XP_MAC 1
  52. #include <string.h>
  53. #endif
  54.  
  55. /*===========================================================================*/
  56. /* Generic data types                                                        */
  57. /*===========================================================================*/
  58.  
  59. /* If your platform does not have the <inttypes.h> header, you may
  60.    need to edit the typedefs below. */
  61. #if HAVE_INTTYPES_H
  62. #include <inttypes.h>
  63. #else
  64.  
  65. #if ! HAVE_INT8_T
  66. typedef signed char int8_t;
  67. #endif
  68.  
  69. #if ! HAVE_UINT8_T
  70. typedef unsigned char uint8_t;
  71. #endif
  72.  
  73. #if ! HAVE_INT16_T
  74. typedef signed short int16_t;
  75. #endif
  76.  
  77. #if ! HAVE_UINT16_T
  78. typedef unsigned short uint16_t;
  79. #endif
  80.  
  81. #if ! HAVE_INT32_T
  82. typedef signed long int32_t;
  83. #endif
  84.  
  85. #if ! HAVE_UINT32_T
  86. typedef unsigned long uint32_t;
  87. #endif
  88.  
  89. #endif
  90.  
  91. #include <limits.h>
  92. #define T_INT32_MAX (LONG_MAX)
  93.  
  94. /*===========================================================================*/
  95. /* Symbol import-export control                                              */
  96. /*===========================================================================*/
  97.  
  98. #define U_EXPORT
  99. #define U_EXPORT2
  100. #define U_IMPORT
  101.